<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Usuario_lst( $this );

	class Usuario_lst extends Lst
	{
	function Usuario_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}

	function setLevel()
		{
			switch ( $this->getOptionView() )
			{
				case 'E':
				case 'L':
					$this->aShowColumns = array( 'Nombre', 'Ingresos', 'Ultimo', 'Comentarios' );
					break;
			}
		}
	function makeColumn ( $aRow, $cField )
		{
			switch( $cField )
			{
				case 'Nombre':
					$cReturn = $aRow['cNombre'] . ' ' . $aRow['cApellido'] ;
					break;
				case 'Comentarios':
					$aComentarios = $this->oDatabase->getKeyArray("SELECT ncEstadoPublicacion, count(*) FROM gtAtractivoComentario WHERE ncUsuario = " . $aRow['ncUsuario'] . ' GROUP BY ncEstadoPublicacion' );
					$cReturn = 'Pen: ' . $aComentarios[1] . ' Pub: ' . $aComentarios[2] . ' Rec: ' . $aComentarios[3];
					break;
				default:
					return false;
			break;
			}
			return $cReturn;
		}
	function initialize()
		{
			$this->oFiltro = $this->oModule->loadClass( 'Usuario_frm' );
			$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
			
			$this->setTitle ( "Usuario" );
			$this->setSummary( "Esta tabla contiene el listado de Usuarios" );
			$this->addColumn ( 'Nombre', '', true );
			$this->addColumn ( 'Email', 'cEmail' );
			$this->addColumn ( 'Alias', 'cAlias' );
			$this->addColumn ( 'Ingresos', 'nqLogin' );
			$this->addColumnDate ( 'Ultimo', 'dUmoLogin' , true);
			$this->addColumn( 'Comentarios', '' );
			$this->setColumnAction ( 'Nombre', VER_USUARIO_PORTAL, 'ncUsuario' );
		}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT * FROM gtUsuario AS Usu";
			// Arma el Filtro de la Consulta
				$this->oFiltro->setDefaultSearchField( "concat( cNombre, ' ',  cApellido, ' ',  cAlias) " );
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray('Usu') );
			return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_USUARIO_PORTAL, $cParametroRegistro, 'I' );
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro = "ncUsuario=" . $aRow["ncUsuario"];
			$this->addRowAction ( MODIFICAR_USUARIO_PORTAL, $cParametroRegistro , '', VENTANA_SECUNDARIA );
			$this->addRowAction ( ELIMINAR_USUARIO_PORTAL ,  $cParametroRegistro );
		}
	}
?>